El presente tema abarca la aplicación del R Markdown.
Se abordarán los siguientes temas:
Al finalizar la sesión podrá aplicar cualquier documento reproducible a partir de un R Markdown, y sobre todo, mejorará la forma en que suele presentar los diversos documentos, siguiente utilizando el ide de R Studio.
Markdown es una forma sencilla de agregar formato a textos web. Con formato nos referimos a itálicas, negritas, listas, y más, en texto plano –por ejemplo, el texto que nos encontramos en el visor de HTML de los editores de blogs, o en el Bloc de Notas de Windows, para hacer el concepto más asequible-.
Markdown fue creado originalmente por John Gruber, con ayuda de Aaron Swartz, con el propósito de crear un texto plano fácil de escribir y fácil de leer, y que pudiera convertirse de forma sencilla y válida a XHTML.
En un principio, la idea de sus creadores era fundar una alternativa a HTML, pero termino mutando.
¿Qué es Markdown? –> Entonces: es una forma de crear páginas web sin tener experiencia en HTML, por ejemplo.
Qué es Markdown, también: un sistema de procesado de textos sencillo y minimalista que nos permite escribir rápido sin prestar demasiada atención al formato. Funciona a través de determinadas porciones de texto que tenemos que insertar para que se pueda leer bien en HTML.
La flexibilidad del Markdown produjo que otros programas como Python, Julia, C++ y hasta R utilizaron su plataforma base para crear su propia aplicación de Markdown.
R Markdown es un extensión del R Studio o formato que permite una fácil creación de documentos, presentaciones dinámicas y informes de R. Markdown es un formato de sintaxis simple para crear documentos tipo ,HTML, PDF, y Word, entre otros. Aunque más adelante veremos la gran expansión que este ha tenido.
En un inicio un archivo R Markdown (.rmd) se pensaba como un registro para la investigación (creado para un mundo académico). Este contiene el código que un científico necesitaba para reproducir su trabajo junto con la narración que un lector necesita para comprender los análisis. Este es el principio de la Investigación Reproducible.
Finalmente, mediante el R Markdown se puede elegir exportar el informe terminado en una variedad de formatos, incluidos documentos html, pdf, MS Word o RTF; diapositivas basadas en html o pdf, cuadernos y más… veamos las diversas aplicaciones que se pueden generar a apartir de un archivo .rmd o Markdown.
¡Qué cool verdad!
Para instalar y hacer uso del R Markdown se necesita:
¿Qué es el knitr?
“knitr” una herramienta o paquete para generación de informes dinámico en R.
Es un paquete en el lenguaje de programación estadístico R que permite integrar R en documentos LaTeX, LyX, HTML, Markdown, AsciiDoc, y reStructuredText.
El propósito de knitr es dar espacio a la reproducibilidad de investigación en R a través de Programación Literaría.
Por tanto, aunque solemos hablar de R Markdown, en su uso este siempre está acompañado del knitr, tanto así que el permite la “salida” del documento es el knitr. Pero la configuración de trabajo la llamamos “.Rmd”.
En la reproduciblidad de un documento utilizamos: rmarkdow, knitr, y nuestro script ahora no será un .r sino un .rmd.
Por espacio de trabajo (Workflow) se refiere a los componentes que forman la aplicación del R Markdown. Se pueden ver en la siguiente imagen.
Para iniciar un nuevo .rmd vamor a “File” -> “New File” -> “R Markdown”
Utilice el wizard para abrir un tipo de documento o archivo de salida entre los enlistados.
Escribir en el archivo .rmd: editar o especficiar el .rmd
EL knitr para crear o lanzar el reporte: el botón del Knit permite lanzar el documento seleccionado.
La generación del reporte por el Knitr: es el reporte creado.
La publicación (opcional): ¿subirlo a la web… por qué no?
Examinar el log o sistaxis propias al Markdown: posibles errores o corridas de cada chunk (¿?) serán presentados ahí.
Los archivos de salida: gráficos y otros, se guardarán en los archivos de salida del .Rmd
Hay uno que sobre sale y es el “2. Escribir en el archivo .rmd”, dado que este es el que posee toda la configuración respectiva del documento de salida.
Lo siguiente será ver la estructura del .Rmd
El .Rmd se caracteriza esencialmente por 3 partes:
Esta es la esencia del .rmd, y donde toda la configuración sucede.
Vaemos en detalle cada una de las parte.
El YAML es el inicio de un archivo .Rmd.
Es el encabezado de un conjunto de pares o llave (llamémoslos opciones).
El YAML comienza y termina el con tres rayas (- - -).
Es importante resaltar que el generador de plantillas del R Studio realmente es una configuración del YAML para la llave u opción de “output:”. Las opciones son
Veamos un ejemplos de YAML.
Veamos el YAML del presente .Rmd
Las opciones o configuraciones de un YAML pueden ser muchas…
El siguiente enlace presenta una guía exhaustiva de los campos posibles en el YAML:
https://cran.r-project.org/web/packages/ymlthis/vignettes/yaml-fieldguide.html
En la edición de texto existen tantas o más formas que las presentadas por Word…. así es.
Veamos algunos ejemplos
Esto es un texto plano, sin ningún símbolo u otro carácter especial.
Termina una línea con dos espacios para comenzar un nuevo párrafo.
Veamos el este ejemplo
Ahora acá inicia el 2nd párrafo
Encerramos la o las palabras con un *
Este es el ejemplo
Encerramos la o las palabras con dos **
Este es el otro ejemplo
El código verbatim es para poner un fondo gris claro. Encerramos la o las palabras con `
Este un un verbatim
Para los sub índices utilizamos los elementos encerrados por ~ Para los súper índices utilizamos los elementos encerrados por ^
Este es un ejemplo de un sub índice algo Este es un ejemplo de un sub índice otro Acá vemos a ambos al mismo tiempo 22
Utilizamos los elementos encerrados por dos ~~ (sin espacio)
acá estamos rayando
Utilizamos dos guiones – o más
endash: –, emdash: —
Colocamos la ecuación entre signos de $
Ecuación : \(A = \pi*r^{2}\)
Colocamos la ecuación entre dos signos de $
\[E = mc^{2}\] Vemos que la ecuación de bloque centra y resalta la ecuación.
Para conocer todas las notaciones matemáticas, letras griegas u otros, ver el siguiente enlace:
http://csrgxtu.github.io/2015/03/20/Writing-Mathematic-Fomulars-in-Markdown/
Utilizamos el signo de >
Esto es un nota de bloque
Para los encabezados utilizamos los # al inicio. Entre más # es que el encabezado posee una menor jerarquía veamos
Encabezado 6
Para poner comentarios en el texto, sin que salga en el reporte debemos encerrar el texto entre <! – –> sin empacio
Verificar luego esto viendo el .Rmd
Para esto utilizamos lo forma
""
Por ejemplo, voy a poner una imagen que se llama “r-icon-8” y su extensión es .jpg
Como se ven en Markdown
* unordered list
* item 2
+ sub-item 1
+ sub-item 2
1. ordered list
2. item 2
+ sub-item 1
+ sub-item 2
Como se ve en el documento generado
Para los índices se pueden utilizar “-” “números”, “+”, “-”, “@” y otros.
Tenemos la opción de crear tablas:
Como se ven en Markdown?
Table Header | Second Header
------------- | -------------
Cell 1 | Cell 2
Cell 3 | Cell 4
Como se ve en el documento generado
| Table Header | Second Header |
|---|---|
| Cell 1 | Cell 2 |
| Cell 3 | Cell 4 |
Para hacer una lista con puntos, bastan con poner un “-” espacio y escrbrir. Vean este ejemplo
Podemos crear una regla horrizontal con diversos tamaños ha realizar uniones de 2 o más “-”. Por ejemplo
A partir de este punto es que toda la magia sucede!
Existen tres formas de insertar el código en el .Rmd
Para esto escribimos:
**`r <code>`** en el editor de texto.
en el editor de texto.
Solicitemos a R su versión mediante la función getRversion(): R— 4.0.2
El primer chunk es diferente a los demás:
En este especificamos opciones globales tales como instalación de programas, cargar librerías, especificar directores, archivos de lectura, y todas las opciones globales pertinentes para empezar nuestro espacio de trabajo.
Aún sea un forma global, de igual a forma procesamos código.
Un chunk es una opción emergente para editar código:
Dentro del chunk podemos trabajar códigos:
Y es en el chunk que editamos todo el código que queramos!
De igual forma, en el chunk podemos especifidcar diversas opciones como no mostrar el código, evitar los WARNINGS, no procesar el código, etc
Veamos un ejemplo donde utilizamos las funciones eval, warning y echo
Este chunk produce el siguiente resultado:
La función “eval” indique si debe o no evaluar el chunk, “warning” indique si debe o no mostrar los warnings, y “echo”, si debe o no mostrar el chunk en el reporte.
Un resumen de las funciones más importantes :
Para más detalle ir al enlace:
yihui.name/knitr/
¿Qué es lo importante de todo esto?
R Markdown es una herramienta muy poderosa. Además de lo visto anteriormente se pueden crear:
La siguiente imagen muestra algunos posibles usos del R Markdown:
Veamos el caso por “default” de una salida Markdown de un documento:
Alguos sitios web por consultar: